package com.tz.mapper;

import com.tz.entity.Research;
import com.tz.entity.ResearchTemplate;
import org.apache.ibatis.annotations.Param;
import org.mybatis.spring.annotation.MapperScan;

import java.util.List;

/**
 * Created by 侯畅畅 on 2018/1/2.
 */
@MapperScan
public interface ResearchMapper {
    /**
     * 添加一份调查卷
     * @param research 一份调查卷
     * 考评列表中的添加一个调查
     *  班级,教员,考评模板
     */
    void insertResearch(@Param("research") Research research, @Param("researchTemplate") ResearchTemplate researchTemplate);
    /**
     * 修改调查
     * 主要用于动态的修改:
     * 总份数,有效份数,平均分
     */
    void updateResearch(Research research);
    /**
     * 显示包含的调查明细
     * 用于显示主页面
     */
    List<Research> selectAllResearch(Long researchid);

    /**
     * 通过id返回对应的调查
     * @param researchid
     * @return
     */
    Research findById(Long researchid);

    /**
     * 删除调查
     * 注意要关联删除调查明细
     * 如果是唯一引用模板的把模板状态改为禁用
     */
    void deleteResearch(Long id);
    /**
     * 分页查询
     * 根据字符串模糊查询
     * 实现搜索框的功能
     * status
     * 0 未结束
     * 1 未审核
     * 2 已审核
     */
    List<Research> selectResearchByCondition(@Param("pageNow") Integer pageNow, @Param("pageSize")Integer pageSize, @Param("state")Integer state, @Param("string")String string);
    /**
     * 统计总记录数
     */
    int countResearch(@Param("state") Integer state);

    /**
     * 通过id获取值Tempid
     * @return Tempid
     */
    Long selectTemp(Long Researchid);
}